package com.zhangtai.modules.entity.contract;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.util.Date;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zhangtai.config.LongJsonDeserializer;
import com.zhangtai.config.LongJsonSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

	

/**
 * 
 *
 * @author chenshun
 * @email sunlightcs@gmail.com
 * @date 2020-10-20 17:57:00
 */
@Data
@TableName("tb_contract_manger")
public class ContractMangerEntity implements Serializable {
	private static final long serialVersionUID = 1L;

			/**
		 * 
		 */
				@TableId
		@JsonDeserialize(using = LongJsonDeserializer.class)
		@JsonSerialize(using = LongJsonSerializer.class)
			private Long id;
			/**
		 * 
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long oid;
			/**
		 * 
		 */
			private String idCard;
			/**
		 * 合同类型 (1:劳动合同 2：退休合同 3：实习合同)
		 */
			private String contractType;
			/**
		 * 合同签署状态 0：未签 1已签 2 已失效
		 */
			private Integer contractStatus;
			/**
		 * 合同期限类型
		 */
			private String contractTimeType;
			/**
		 * 甲方主体
		 */
			private String employerCompany;
			/**
		 * 甲方主体id
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long employerCompanyId;
			/**
		 * 合同生效日期
		 */
			private Date contractBeginDate;
			/**
		 * 合同截止日期
		 */
			private Date contractEndDate;
			/**
		 * 
		 */
			private String orgName;
			/**
		 * 
		 */
			private String unitName;
			/**
		 * 
		 */
			private String jobName;
			/**
		 * 合同签订日期
		 */
			private Date signDate;
			/**
		 * 合同签订人
		 */
			private String signNer;
			/**
		 * 合同状态，0：合同未发送，1：合同已发送，2合同已签署
		 */
			private Integer isSendContract;
			/**
		 * e签宝流程id
		 */
			private Integer esignFlowId;
			/**
		 * 操作类型 （1：入职 2：调动 3：晋升 4：降级 5：离职）
		 */
			private Integer operateType;
			/**
		 * 类型 （1：新签 2：续签 3：解除 4：调动新签 5：变更）
		 */
			private Integer type;
			/**
		 * 
		 */
			private Integer isDelete;
			/**
		 * 合同e签宝下载地址
		 */
			private String contractEsignUrl;
			/**
		 * 合同阿里云下载地址
		 */
			private String contractOssUrl;
			/**
		 * 
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long unitId;

			private Date createTime;

			private String gender;

			private Date hireDate;

			private Integer isReinstate;

			private String code;
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
			private Long renewContractId;

	private String contractNo;
	@ApiModelProperty("是否回调成功 0未回调 1已回调")
	private Integer callbackStatus;

	private Integer isRenew;

	private String name;

	/**
	 * 实际结束日期
	 */
	private Date realEndDate ;

	@ApiModelProperty("业务关联id")
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	private Long relateId;
}
